c=str(input())
from decimal import Decimal, getcontext
e=c.find('.')
a=c[:e]
floats=c[e+1:]
d=[]
p=[]
floats=str(floats)
floats='0.'+floats
jishu=0
floats=float(floats)
for i in range(int(a)//2+1):
    if a!=0 and 1:
        b=int(a)%2
        a=int(a)//2
        d.append(b)
d.reverse()
d=''.join(str(s) for s in d)
while floats!=1.0:#这里是开始处理小数的部分
    floats=floats*2#小数部分乘2，比如：0.8*2=1.6
    y=str(floats)[0]#小数部分乘2后取整数部分，比如：1.6的整数部分是1
    if floats==0.0:#（先看下面）如果没有这个判断0.0的if，最后小数部分会一直都是0.0，但是又满足while的条件“floats！=1.0”
        break#(先看下面)所以要用这个来退出循环
    p.append(y)#把‘y’中储存的整数部分添加到p这个列表里
    if floats>=1:#如果小数部分×2后大于等于就减1，比如1.6-1=0.6。小于1就不变，重新循环
        floats=floats-1#如果小数部分*2后等于1.0减掉1后变成了0，就用上面那个if判断来退出循环。
    else:
        floats=floats+1-1
    print('小数部分:'+str(floats))
o=''.join(str(t) for t in p)
print(str(d)+'.'+str(o))
    
